<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>  
  <script>
   /* 
     现有一个数组： arrList = [9,1,3,2,8,0,5,7,6,4]
      请编写代码将数组中元素由小到大进行排序
      排序常用算法：                                       时间复杂度                     空间复杂度                      是否稳定
        - 1. 插入排序
          - 1.1 直接插入排序/折半查找排序                   O(n^2)                         O(1)                           是
        - 1.2 希尔排序                             小于O(n^2)大于O(n*log2n)                 O(1)                           否
        - 2. 交换排序
          - 2.1 冒泡排序                                    O(n^2)                          O(1)                           是
          - 2.2 快速排序                                  O(n*log2n)                      O(n)                           否
        - 3. 选择排序
          - 3.1 简单选择排序                              O(n^2)                           O(1)                           否
          - 3.2 堆排序                                    O(n*log2n)                       O(1)                           否
        - 4. 基数排序                                        O(d(n+r))                       O(r)                           是
        - 5. 归并排序                                       O(n*log2n)                        O(n)                           是
   */
  // 冒泡排序
  const arrList = [9,1,3,2,8,0,5,7,6,4] 
  // for( let j = 0 ; j < arrList.length - 1 ; j++){
  //   for( let i = 0 ; i < arrList.length - 1 ; i++) {
  //     // 优化方案 : 内层循环 遍历次数改为 i < arrList.length - 1 - j
  //     if(arrList[i]>arrList[i+1]){
  //       let tmp 
  //       tmp = arrList[i]
  //       arrList[i] = arrList[i+1]
  //       arrList[i+1] = tmp
  //     }
  //   }
  // }
  console.log(arrList);
  // 选择排序
  for( let i = 0 ; i < arrList.length ; i++) {
    for(let j = i+1 ; j < arrList.length ; j++){
      if( arrList[i] > arrList[j]){
        let tmp 
        tmp = arrList[i]
        arrList[i] = arrList[j] 
        arrList[j] = tmp 
      }
    }
  }
  console.log(arrList);
  </script>
</body>
</html>